import os
import pydicom
import matplotlib.pyplot as plt
#確認讀進來的是否為dicom檔
def is_dicom_file(filename):
file_stream = open(filename, 'rb')
file_stream.seek(128)
data = file_stream.read(4)
file_stream.close()
if data == b'DICM':
return True
return False
def load(src_dir):
files = os.listdir(src_dir)
files.sort(reverse = False)#如果沒有這一行在mac中檔案不會按照順序被讀取
for s in files:
if is_dicom_file(src_dir + '/' + s):
print(s)#檢查檔名
instance = pydicom.read_file(src_dir + '/' + s)
array = instance.pixel_array
picture.append(array)
picture=[]#建立一個list來儲存轉為array的dicom檔
load("file")#file是資料夾名稱
最近剛好需要用到這樣的程式碼,找了很久都找不到。
這是修改網路上方法的結果。